"""
功能描述 ：
编写人 ：
编写日期 ：
实现逻辑 ：
    导包
    创建一个类
    1 创建init初始化方法
        1.1 获取文件地址
        1.2 实例化configparser
        1.3 读取指定地址下的配置文件
    2 创建对外方法:get_section
        2.1 返回指定section下所有option的值
    3.创建对外方法:get_option
        3.2 返回指定section下面指定option的值
"""
#导包
from configparser import ConfigParser
import os

# 创建一个类
class ReadConfig():
    # 1 创建init初始化方法
    def __init__(self):
    # 1.1 获取文件地址
        self.path = os.path.dirname(os.path.dirname(__file__))+ r"/config.ini"
    # 1.2 实例化configpraser
        self.conf = ConfigParser()
    # 1.3 读取指定地址下的配置文
        self.conf.read(self.path,encoding='utf-8')
# # 2 创建对外方法:get_section
    # def get_section(self, section):
    #     # 2.1 返回指定section下所有option的键
    #     # return self.conf.options(section)
    #     # 2.2 返回指定section下所有option的键值对
    #     return self.conf.items(section)
    #
    # # 3.创建对外方法:get_option
    # def get_option(self, section, option):
    #     # 3.2 返回指定section下面指定option的值
    #     return self.conf.get(section, option)

    # 优化
    def get_config(self, section, option="all"):
        if option == "all":
            return self.conf.items(section)
        else:
            return self.conf.get(section, option)


if __name__ == '__main__':
    # 实例化
    rc = ReadConfig()
    # 调用实例方法
    # res = rc.get_section("mysql")
    # print(res)
    # res2 = rc.get_option("mysql", "port")
    # print(res2)
    res3 = rc.get_config("mysql", "user")
    print(res3)